package com.zaimokuza.cn.mapper;

import com.zaimokuza.cn.entity.like.BlogLike;
import com.zaimokuza.cn.entity.like.CommentLike;
import org.apache.ibatis.annotations.Mapper;

/**
 * @author zaimokuza
 */
@Mapper
public interface LikeMapper {

    /**
     * 点赞博客
     *
     * @param blogLike 博客点赞信息
     */
    void insertBlogLike(BlogLike blogLike);

    /**
     * 点赞评论
     *
     * @param commentLike 评论点赞信息
     */
    void insertCommentLike(CommentLike commentLike);

    /**
     * 取消点赞博客
     *
     * @param blogLike 博客点赞信息
     */
    void deleteBlogLike(BlogLike blogLike);

    /**
     * 批量删除博客点赞记录
     *
     * @param blogId 博客ID
     */
    void deleteBatchBlogLikeByBlogId(String blogId);

    /**
     * 取消点赞评论
     *
     * @param commentLike 评论点赞信息
     */
    void deleteCommentLike(CommentLike commentLike);

    /**
     * 根据评论ID批量删除评论点赞记录
     *
     * @param commentId 评论ID
     */
    void deleteBatchCommentLikeByCommentId(String commentId);

    /**
     * 根据博客ID批量删除评论点赞记录
     *
     * @param blogId 博客ID
     */
    void deleteBatchCommentLikeByBlogId(String blogId);

    /**
     * 查询博客点赞信息是否存在
     *
     * @param blogLike 博客点赞信息
     * @return 1:存在;null:不存在
     */
    Integer queryBlogLikeIsExist(BlogLike blogLike);

    /**
     * 查询评论点赞信息是否存在
     *
     * @param commentLike 评论点赞信息
     * @return 1:存在;null:不存在
     */
    Integer queryCommentLikeIsExist(CommentLike commentLike);

}
